When Accuracy Lies

Class Imbalance


class imbalance(class 비율의 불균형)가 크면 다수 범주로만 답하는 기준모델도 정확도가 높다. 정확도는 범주별 재현율을 관측 수로 가중한 값이라, 드문 범주의 오류를 보려면 혼동행렬, 재현율, 정밀도, 균형 정확도를 함께 본다.

기준모델(baseline)다수 범주만 답하는 가장 단순한 모델이며, 같은 평가 자료에서 이보다 나은지부터 확인한다.
균형 정확도(TP/(TP + FN) + TN/(TN + FP)) / 2이며 한 범주만 예측하면 0.5다.
PR 곡선임계값을 바꾸며 재현율과 정밀도를 이은 곡선이며, 양성이 드물 때 정밀도의 낮음을 직접 보여 준다.

모두 정상이라 답해도 정확도는 99.83%지만 사기는 하나도 찾지 못한다

사기 거래 102건, 정상 거래 59,708건인 검증 자료다. 모델을 바꾸면 사기 102건 가운데 찾아낸 건과 놓친 건, 네 지표가 바뀐다.

사기 거래 102건의 예측 결과찾아낸 사기와 놓친 사기, 정상 거래의 오류
왼쪽 칸 하나가 실제 사기 거래 한 건이다. 초록 칸은 사기로 찾아낸 TP, 빨간 테두리 빈 칸은 놓친 FN이다. 오른쪽 상자는 정상 거래 가운데 사기로 잘못 예측한 FP와 바르게 예측한 TN의 건수다.

정확도는 범주별 재현율을 관측 비율로 가중하고, 균형 정확도는 같은 비중으로 평균한다

로지스틱 회귀의 사기 재현율 0.618과 정상 재현율 0.99987을 그대로 두고 평가 자료의 사기 비율만 바꾸면 정확도와 기준모델의 정확도가 바뀐다.

정확도와 균형 정확도의 구성범주별 재현율과 가중치
막대 전체 길이가 1이다. 위 막대는 정확도로, 초록은 사기 비율 × 사기 재현율, 파랑은 정상 비율 × 정상 재현율, 회색은 틀린 몫이다. 아래 막대는 균형 정확도로 두 재현율에 같은 비중 0.5를 준다.

양성이 드물면 ROC 곡선이 좋아 보여도 정밀도는 낮을 수 있다

양성 30개, 음성 2,970개(양성 1%)의 점수에서 임계값 t를 옮기면 ROC 곡선과 PR 곡선 위의 현재 점이 함께 바뀐다.

ROC 곡선과 PR 곡선같은 점수의 두 곡선과 현재 임계값
왼쪽 ROC 곡선은 가로축 FPR, 세로축 재현율이고 회색 점선이 무작위 순위다. 오른쪽 PR 곡선은 가로축 재현율, 세로축 정밀도이고 빨간 점선이 양성 비율 0.01이다. 초록 점이 현재 임계값의 점이다.